package com.guoxue.domain;

import java.io.Serializable;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;

import org.hibernate.annotations.GenericGenerator;

/**
 * 由工具生成的java类,手工修改无效!
 * 
 * 
 */
@Entity
@Table(name = "totalInfoVo")
public class TotalInfoVo implements Cloneable, Serializable{
	// /////////////////////////////////////////////////////////////////////////////
	// --->字段定义:
	// /////////////////////////////////////////////////////////////////////////////
	/**
	 * 被关注数
	 */
	private int beFollowed = 0;
	/**
	 * 关注数
	 */
	private int follow = 0;
	/**
	 * 自增主键id
	 */
	@Id
	@GenericGenerator(name = "generator", strategy = "identity")
	@GeneratedValue(generator = "generator", strategy = GenerationType.IDENTITY)
	private int id;
	/**
	 * 被收听数
	 */
	private int listened = 0;
	/**
	 * 记录状态,0表示正常,-0x10表示已删除
	 */
	private int sysflag = 0;
	/**
	 * 关联用户id
	 */
	private int uid;
	// /////////////////////////////////////////////////////////////////////////////
	// --->getter and setter:
	// /////////////////////////////////////////////////////////////////////////////
	/**
	 * 被关注数
	 */
	public int getBeFollowed() {
		return beFollowed;
	}
	public void setBeFollowed(int beFollowed) {
		this.beFollowed = beFollowed;
	}
	/**
	 * 关注数
	 */
	public int getFollow() {
		return follow;
	}
	public void setFollow(int follow) {
		this.follow = follow;
	}
	/**
	 * 自增主键id
	 */
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	/**
	 * 被收听数
	 */
	public int getListened() {
		return listened;
	}
	public void setListened(int listened) {
		this.listened = listened;
	}
	/**
	 * 记录状态,0表示正常,-0x10表示已删除
	 */
	public int getSysflag() {
		return sysflag;
	}
	public void setSysflag(int sysflag) {
		this.sysflag = sysflag;
	}
	/**
	 * 关联用户id
	 */	
	public int getUid() {
		return uid;
	}
	public void setUid(int uid) {
		this.uid = uid;
	}
	// /////////////////////////////////////////////////////////////////////////////
	// --->流读写方法和打印方法:
	// /////////////////////////////////////////////////////////////////////////////
	@Override
	public String toString() {
		final StringBuilder sb = new StringBuilder();
		final String info;

		sb.append(",id=" + this.id);
		sb.append(",beFollowed=" + this.beFollowed);
		sb.append(",follow=" + this.follow);
		sb.append(",listened=" + this.listened);
		sb.append(",uid=" + this.uid);
		sb.append(",sysflag=" + this.sysflag);

		info = sb.toString();
		return info;
	}
	// /////////////////////////////////////////////////////////////////////////////
	// --->clone and copy:
	// /////////////////////////////////////////////////////////////////////////////
	@Override
	public Object clone() throws CloneNotSupportedException {
		return (TotalInfoVo) super.clone();
	}
	/**
	 * 令当前对象(this)成为指定对象(src)的拷贝
	 * 对简单数据类型的数组,进行深层复制
	 * 对dataMap数据,进行dataMap的整体复制
	 * @param src
	 */
	public void copyOf(TotalInfoVo src){
		this.id = src.id;
		this.beFollowed = src.beFollowed;
		this.follow = src.follow;
		this.listened = src.listened;
		this.uid = src.uid;
		this.sysflag = src.sysflag;
	}
	
}
